/*
 *  相对布局关系定义
 */
#ifndef _VIEW_RELATIVE_H_
#define _VIEW_RELATIVE_H_

/* rObj: ViewRelativeObject 相对对象类型(父控件 或者 同级链表控件) */
#define VRO_PARENT  ((int32_t)0)  /* 相对于父控件,默认值 */
#define VRO_PREV    ((int32_t)-1) /* 相对同级链表上一个,可使用 VRO_PREV*n 指定前面第几个 */
#define VRO_NEXT    ((int32_t)1)  /* 相对同级链表下一个,可使用 VRO_NEXT*n 指定后面面第几个 */

/* rType: ViewRelativeType 相对方式,可'或运算'组合 */
#define VRT_TOP       ((uint32_t)(1 << 0))
#define VRT_BOTTOM    ((uint32_t)(1 << 1))
#define VRT_LEFT      ((uint32_t)(1 << 2))
#define VRT_RIGHT     ((uint32_t)(1 << 3))
#define VRT_CENTER_X  ((uint32_t)(1 << 4)) /* 水平居中 */
#define VRT_CENTER_Y  ((uint32_t)(1 << 5)) /* 垂直居中 */
#define VRT_CENTER    ((uint32_t)(1 << 6)) /* 完全居中 */

/* ViewRelativeSize 相对大小,可用于控件width、height、rErrX、rErrY的赋值 */
#define VRS_AUTO  ((int32_t)0)      /* 自动设置控件大小,通常用于文字内容,自动按文字长度选择大小 */
#define VRS_MATCH ((int32_t)-10000) /* 和相对对象一致,可使用 VRS_MATCH*n/m 表示n/m大小 */

#endif // _VIEW_RELATIVE_H_
